#ifndef ESTADODEESPERADEJUGADORES_H_
#define ESTADODEESPERADEJUGADORES_H_

#include "EstadoDelJuego.h"
#include "JuegoServerImp.h"

/**Estado Inicial del Juego. En este estado el juego se encuentra
 * esperando que todos los jugadores requeridos para la partida, se
 * unan al juego.
 */


class EstadoDeEsperaDeJugadores : public EstadoDelJuego
{
private: 
	JuegoServerImp* juego;
public:
	EstadoDeEsperaDeJugadores(JuegoServerImp* juego);
	
	virtual void unirse(Jugador* jugador);
	void asignarEjercitos();	
	virtual void reforzarEjercitos(Jugador* jugador);
	virtual void realizarAtaque(Ataque* ataque);
	virtual void colocarEjercitos(Jugador* jugador, Territorio* territorio, unsigned int cantidadDeEjercitos);
	virtual void moverEjercitos(Jugador* jugador, Territorio* origen, Territorio* destino, unsigned int cantidadDeEjercitos);
	
	virtual ~EstadoDeEsperaDeJugadores();
};

#endif /*ESTADODEESPERADEJUGADORES_H_*/
